<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <!-- vi:set sw=2: -->
  <!--
  Copyright (C) 1996-2002  Brian Paul and Ben Bederson
  Copyright (C) 2005-2009  Greg Couch
  See the LICENSE file for copyright details.
  -->

  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>Togl Stereo Modes</title>
  </head>

  <body>
    <script type="text/javascript" src="header.js"></script>
    <script type="text/javascript">
      NavigationBar();
    </script>

    <h1 align="center">Togl Stereo Modes</h1>

    <h2>Contents</h2>
    <ul>
      <li><a href="#none">none</a>
      <li><a href="#native">native</a>
      <li><a href="#anaglyph">anaglyph</a>
      <li><a href="#cross">cross-eye</a>
      <li><a href="#wall">wall-eye</a>
      <li><a href="#dti">dti</a>
      <li><a href="#row">row interleaved</a>
      <li><a href="#left">left eye</a>
      <li><a href="#right">right eye</a>
      <li><a href="#sgioldstyle">sgioldstyle</a>
      <!--
      <li><a href="#nvidia">nvidia consumer stereo</a>
      -->
    </ul>

    <hr>

    <p>
    There are lots of stereo modes in Togl because there are many ways to
    draw stereo with different tradeoffs.
    All of the stereo modes are chosen with the
    <a href="tclapi.html#pixelformat">
      <code>-stereo</code> configuration option</a>.
    All of the non-native stereo techniques
    are software-only and can be changed at anytime.
    <p>
    When using a non-native stereo mode, the OpenGL
    <code>glDrawBuffer</code>, <code>glClear</code>,
    <code>glFrustum</code>, and <code>glOrtho</code> calls
    should be replaced with the Togl
    <a href="tclapi.html#stereo cmds">Tcl</a> or
    <a href="capi.html#stereo">C</a> versions
    for seamless stereo rendering.
    <p>
    The various stereo modes are:
    <dl>
      <dt>
      <a name="none"></a><code>none</code> <i>or</i> &quot;&quot <i>or any false boolean value</i>
      <dd>
      Turn off stereo.
      <dt><code>native</code> <i>or any true boolean value</i>
      <dd>
      Use native OpenGL hardware accelerated stereo
      (single- or double-buffered for both the left and the right eyes).
      Each eye is drawn at full window resolution
      which gives the best stereo image.
      This mode requires support from the graphics driver and is
      typically only supported on workstation-class graphics cards, <i>e.g.</i>,
      <a href="http://www.nvidia.com/page/workstation.html">NVidia Quadro</a>,
      <a href="http://ati.amd.com/products/workstation.html">ATI FireGL</a>,
      <a href="http://www.matrox.com/graphics/">Matrix Parhelia</a>,
      <a href="http://www.3dlabs.com/content/wildcat.asp">3DLabs Wildcat</a>
      graphics cards
      and <a href="http://www.sgi.com/">SGI</a> workstations.
      The video refresh rate is changed automatically by the windowing system
      except on SGI workstations.
      Developers for SGI workstations can either switch the video manually with
      <code>/usr/gfx/setmon</code> or <code>/usr/bin/X11/xsetmon</code>, or use the
      <a href="http://www.cgl.ucsf.edu/Overview/software.html#autostereo">
	autostereo</a> package.
      <p>
      Currently, there is a limitation that a togl widget can not be
      reconfigured in or out of the native stereo mode.
      And if/when it is supported,
      some graphics drivers might not allow it.
      <dt>
      <a name="anaglyph"></a><code>anaglyph</code>
      <dd>
      Draw the left eye in the red part of the color buffer
      and the right eye in the blue and green parts.
      Designed to be viewed with inexpensive red-blue or red-cyan glasses.
      Works best with gray scale and non-saturated color images.
      <dt>
      <a name="cross"></a><code>cross-eye</code>
      <dd>
      Draw right eye image on the left half of screen,
      and draw left eye image on the right half of screen.
      So each eye is drawn at less than half of the window resolution.
      <dt>
      <a name="wall"></a><code>wall-eye</code>
      <dd>
      Draw left eye image on the left half of the screen,
      and draw right eye image on the right half of the screen.
      So each eye is drawn at less than half of the window resolution.
      <dt>
      <a name="dti"></a><code>dti</code>
      <dd>
      Designed for <a href="http://www.dti3d.com/">DTI</a> displays.
      If you look at the window unassisted,
      you'll see horizonally squished images
      with the left eye image on the left,
      and right eye image on the right.
      So each eye is drawn at half of the window resolution.
      <dt>
      <a name="row"></a><code>row interleaved</code>
      <dd>
      Designed for
      <a href="http://www.vrex.com/">VRex</a>,
      <a href="http://www.zalman.co.kr/">Zalman</a>, and
      <a href="http://www.hyundaiq.com/">Hyundai</a> displays.
      Where the right eye is on the even scanlines
      and the left is on the odd ones.
      Requires that there be a stencil buffer
      and uses the most significant stencil bit.
      Changes to the stencil state should be placed within 
      <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPushAttrib.xml">
	glPushAttrib</a>(GL_STENCIL_BUFFER_BIT) and glPopAttrib() calls.
      <dt>
      <a name="left"></a><code>left eye</code>
      <dd>
      Only draw left eye view at full resolution.
      <dt>
      <a name="right"></a><code>right eye</code>
      <dd>
      Only draw right eye view at full resolution.
      <dt>
      <a name="sgioldstyle"></a><code>sgioldstyle</code>
      <dd>
      Support older-style SGI stereo where you lose half of the vertical resolution.
      This uses the SGIStereo X extension,
      that is only available on SGI workstations,
      to tell the X server to duplicate non-stereo windows into both eyes.
      This option only works when the monitor has been changed to the one
      of the <code>str_top</code>, <code>str_bot</code>, or <code>str_rect</code> video output modes.
      <!--
      <dt>
      <a name="nvidia"></a><code>nvidia consumer stereo</code>
      <dd>
      Use the
      <a href="http://www.nvidia.com/drivers">NVidia Consumer 3D Stereo</a> driver.
      This only works with NVidia consumer graphics cards on Microsoft Windows
      and when the Togl window covers the full screen.
      NVidia Quadro users should use the <code>native</code> stereo mode.
      -->
    </dl>

    <hr>
    <a href="http://sourceforge.net/projects/togl">
      <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=519&amp;type=13" width="120" height="30" border="0" alt="Get Togl at SourceForge.net. Fast, secure and Free Open Source software downloads">
    </a>
    <a href="http://validator.w3.org/check?uri=referer">
      <img src="http://www.w3.org/Icons/valid-html401-blue"
      alt="Valid HTML 4.01 Transitional" height="31" width="88" border="0">
    </a>
  </body>
</html>
